package org.example.huawei;

import java.util.Scanner;

/**
 * @author: lynn
 * @Descript: 更相减损术，求最大公约数
 * 假设 a>b 如果a不大于b，要调整为a>b
 * a、b 都为偶数 gcd(a,b)=2*gcd(a/2,b/2)=2*gcd(a>>1,b>>1)
 * a为偶数、b 为奇数 gcd(a,b)= gcd(a/2,b)=gcd(a>>1,b)
 * a为奇数、b 为偶数 gcd(a,b)= gcd(a,b/2)=gcd(a,b>>1)
 * a、b都为奇数 gcd(a,b)= gcd(a,b/2)=gcd(a,b>>1)
 * @date: 2021/2/24 23:07
 * @version: 1.0
 */
public class HW109 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String input=sc.nextLine();
        int aInput=Integer.valueOf(input.split(" ")[0]);
        int bInput=Integer.valueOf(input.split(" ")[1]);
        int a=aInput>bInput?aInput:bInput;
        int b=aInput<bInput?aInput:bInput;
        System.out.println(gcd(a,b));
    }
    public static int gcd(int a,int b){
        if (a==b){
            return a;
        }
        if ((a&1)==0&&(b&1)==0){
            return 2*gcd(a>>1,b>>1);
        }else if ((a&1)==0&&(b&1)!=0){
            return gcd(a>>1,b);
        }else if ((a&1)!=0&&(b&1)==0){
            return gcd(a,b>>1);
        }else {
            int big=a>b?a:b;
            int small=a<b?a:b;


            return gcd(big-small,small);
        }


    };

}
